/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：DevicePortSymbolLabelFigure.js<br>
 * 日期：2016年10月21日<br>
 * 作者: 王志远<br>
 * 功能：器件图片<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/
window.makeNamespace(window,"Rainier.UI.V2");

/**
 * 类型名称：Rainier.UI.V2.DevicePortSymbolLabelFigure<br>
 * 类型功能：器件盒子图元<br>
 * 接口函数：<br>
 * 成员变量：<br>
 */
Rainier.UI.V2.DevicePortSymbolLabelFigure = draw2d.shape.basic.Label.extend({
	
	/**
	 * 函数名称：Rainier.UI.V2.DevicePortSymbolLabelFigure.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：property<br>
	 * 异常信息：<br>
	 */
	init:function(property){
		var dummy = $.extend({},property);
		dummy.stroke = 0;
		this._super(property);
		this.on("change",$.proxy(this.onChanged,this));
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.DevicePortSymbolLabelFigure.onChanged<br>
	 * 函数功能：侦听onChange事件<br>
	 * 函数返回：<br>
	 * 异常信息：<br>
	 */
    onChanged:function(emitter, figure){
    	var angle = this.getRotationAngle();
    	angle = angle - angle % 180;
    	if(angle === 180){
    		this.setRotationAngle(0);
    	}
    },
         
    /**
	 * 函数名称：Rainier.UI.V2.DevicePortSymbolLabelFigure.setRotationAngle<br>
	 * 函数功能：设置旋转角度<br>
	 * 参数输入：<br>
	 * angle:Number<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    setRotationAngle : function(angle){
        angle = angle % 180;
        if(angle > 0 && angle < 1e-6 || angle === -180){
            angle = 0;
        }
//        if(angle === 90 || angle ===270){
//            angle += 1e-9;
//        }
        var shape = this.shape;
        this._super(angle);
    }
});
